পান্ডার সাথে টেক্সট থেকে ডেটা লোড করুন


159

আমি একটি টেক্সট ফাইল লোড করছি যাতে ভাসা এবং স্ট্রিং ডেটার মিশ্রণ থাকে। আমি এগুলিকে এমন একটি অ্যারেতে সঞ্চয় করতে চাই যেখানে আমি প্রতিটি উপাদান অ্যাক্সেস করতে পারি। এখন আমি শুধু করছি

import pandas as pd

data = pd.read_csv('output_list.txt', header = None)
print data

এই ইনপুট ফাইলের গঠন: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt

এখন ডেটা একটি অনন্য কলাম হিসাবে আমদানি করা হয়। আমি কীভাবে এটি ভাগ করতে পারি, যাতে আলাদা আলাদা উপাদান আলাদাভাবে সংরক্ষণ করা যায় (যাতে আমি কল করতে পারি data[i,j])? এবং আমি কীভাবে একটি শিরোনাম সংজ্ঞায়িত করতে পারি?

উত্তর:


217

তুমি ব্যবহার করতে পার:

data = pd.read_csv('output_list.txt', sep=" ", header=None)
data.columns = ["a", "b", "c", "etc."]

sep=" "আপনার কোডে যোগ করুন , উদ্ধৃতিগুলির মধ্যে ফাঁকা স্থান রেখে। সুতরাং পান্ডারা কলামগুলিতে মান এবং বাছাইয়ের মধ্যে ফাঁকা স্থান সনাক্ত করতে পারে। ডেটা কলামগুলি আপনার কলামগুলির নামকরণের জন্য।


ধন্যবাদ! আমি কীভাবে টেবিলের কোনও উপাদান অ্যাক্সেস করতে পারি?
albus_c

আপনি যদি কলামটি কল করতে চান ডেটা ব্যবহার করুন a আপনি যদি কলামটির নাম দিয়েছেন "এ"।
পিট্রোভিসমারা

1
অথবা যদি আপনি একটি একক সারিটি data.a [1] ব্যবহার করতে পারেন কল করতে চান (এই উদাহরণে কলামের প্রথম সারিতে কল)
pietrovismara

গ্রেট! এটি সবকিছু স্থির করেছে
albus_c

87

আমি উপরের উত্তরগুলি যুক্ত করতে চাই, আপনি সরাসরি ব্যবহার করতে পারেন

df = pd.read_fwf('output_list.txt')

fwf স্থির প্রস্থ বিন্যাসকৃত রেখার জন্য দাঁড়িয়েছে।


38

@ পিট্রোভিসমারার সমাধানটি সঠিক তবে আমি যুক্ত করতে চাই: কলামের নাম যুক্ত করার জন্য আলাদা লাইন না রেখে পিডি.রেড_সিএসভি থেকে এটি করা সম্ভব।

df = pd.read_csv('output_list.txt', sep=" ", header=None, names=["a", "b", "c"])

26

আপনি এটি ব্যবহার করতে পারেন

import pandas as pd
dataset=pd.read_csv("filepath.txt",delimiter="\t")

আপনি এই উত্তর, 'সেপ্টেম্বর' এবং 'delimeter' থেকে দেখতে পারেন হিসাবে একই :) হয় stackoverflow.com/a/49533103
Давид Шико

13

যদি আপনার কাছে ডেটাতে নির্ধারিত কোনও সূচক না থাকে এবং ব্যবধানটি কী তা আপনি নিশ্চিত না হন, আপনি পান্ডাসকে একটি সূচি নির্ধারণ করতে এবং একাধিক স্পেস সন্ধান করতে ব্যবহার করতে পারেন।

df = pd.read_csv('filename.txt', delimiter= '\s+', index_col=False)

3
সমানভাবে আপনি ডিলিমিটারের delim_whitespace=Trueপরিবর্তে আরও '\s+'
ভার্জোজ

8

আপনি এটি করতে পারেন:

import pandas as pd
df = pd.read_csv('file_location\filename.txt', delimiter = "\t")

(যেমন, ডিএফ = পিডি.ড্রেড_সিএসভি ('এফ: \ ডেস্কটপ \ ds \ text.txt', ডিলিমিটার = "\ t")


6

পান্ডাসের সর্বশেষ পরিবর্তনের উপর ভিত্তি করে, আপনি ব্যবহার করতে পারেন, পঠন_সিএসভি, পঠন-টেবিল অবচয় করা হয়েছে:

import pandas as pd
pd.read_csv("file.txt", sep = "\t")

4

আপনি পাঠ্য ফাইলটি কমান্ড ব্যবহার করে পাঠ্য ফাইলটি আমদানি করতে পারেন:

import pandas as pd
df=pd.read_table('output_list.txt',header=None)

লোড করার পরে প্রিপ্রোসেসিং করা দরকার


1

আমি প্রথমে প্রথমে ডেটা দেখে নিই বা কেবল এটি আমদানি করে ডেটা করতে চেষ্টা করি (হেড) (যদি আপনি দেখতে পান যে কলামগুলি \ t দিয়ে পৃথক করা হয়েছে তবে আপনার sep="\t"অন্যথায় নির্দিষ্ট করা উচিত sep = " ",।

import pandas as pd     
data = pd.read_csv('data.txt', sep=" ", header=None)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.