Pandas 中有哪些功能和参数可以用来打开制表符分隔的文本文件?
What function and parameters are available in Pandas in order to open a tab delimited text file?
我有一个文本文件如下:
Movie_names Rating
"A" 10
"B" 6.5
文本文件以制表符分隔。有些电影片名用双引号括起来。如何将其读入 pandas 数据帧并从电影名称中删除引号?
我尝试使用以下代码:
import pandas as pd
data = pd.read_csv("movie.txt")
但是,它说存在 Unicode 解码错误。应该怎么办?
首先你会想要
导入 pandas
Df = pandas.read_csv("file.csv")
用
去掉双引号
Df2 = Df['columnwithquotes'].apply(lambda x: x.replace('"', ''))
您可以使用 read_table
,因为它的 quotechar
参数默认设置为 '"'
,因此会删除双引号。
import pandas as pd
from io import StringIO
the_data = """
A B C D
ABC 2016-6-9 0:00 95 "foo foo"
ABC 2016-6-10 0:00 0 "bar bar"
"""
df = pd.read_table(StringIO(the_data))
print(df)
# A B C D
# 0 ABC 2016-6-9 0:00 95 foo foo
# 1 ABC 2016-6-10 0:00 0 bar bar
首先,您可以使用 read_table
或 read_csv
读取制表符分隔的文件。前者默认使用tab分隔符,后者需要指定:
import pandas as pd
df = pd.read_csv('yourfile.txt', sep='\t')
或者:
import pandas as pd
df = pd.read_table('yourfile.txt')
如果您收到编码错误,那是因为 read_table
不理解文件的文本编码。您可以通过直接指定编码来解决此问题,例如对于 UTF8:
import pandas as pd
df = pd.read_table('yourfile.txt', encoding='utf8')
如果您的文件使用的是 different encoding,则需要指定它。
我有一个文本文件如下:
Movie_names Rating
"A" 10
"B" 6.5
文本文件以制表符分隔。有些电影片名用双引号括起来。如何将其读入 pandas 数据帧并从电影名称中删除引号?
我尝试使用以下代码:
import pandas as pd
data = pd.read_csv("movie.txt")
但是,它说存在 Unicode 解码错误。应该怎么办?
首先你会想要 导入 pandas
Df = pandas.read_csv("file.csv")
用
去掉双引号Df2 = Df['columnwithquotes'].apply(lambda x: x.replace('"', ''))
您可以使用 read_table
,因为它的 quotechar
参数默认设置为 '"'
,因此会删除双引号。
import pandas as pd
from io import StringIO
the_data = """
A B C D
ABC 2016-6-9 0:00 95 "foo foo"
ABC 2016-6-10 0:00 0 "bar bar"
"""
df = pd.read_table(StringIO(the_data))
print(df)
# A B C D
# 0 ABC 2016-6-9 0:00 95 foo foo
# 1 ABC 2016-6-10 0:00 0 bar bar
首先,您可以使用 read_table
或 read_csv
读取制表符分隔的文件。前者默认使用tab分隔符,后者需要指定:
import pandas as pd
df = pd.read_csv('yourfile.txt', sep='\t')
或者:
import pandas as pd
df = pd.read_table('yourfile.txt')
如果您收到编码错误,那是因为 read_table
不理解文件的文本编码。您可以通过直接指定编码来解决此问题,例如对于 UTF8:
import pandas as pd
df = pd.read_table('yourfile.txt', encoding='utf8')
如果您的文件使用的是 different encoding,则需要指定它。