简体   繁体   English

如何使用 pandas 将度分秒 (DMS) 数据直接从 a.CSV 文件读取到 dataframe 作为字符串?

[英]How to read Degree Minute Seconds (DMS) data directly from a .CSV file using pandas into a dataframe as strings?

How to read Degree Minute Seconds (DMS) data directly from a.CSV file using pandas into a dataframe as strings?如何使用 pandas 将度分秒 (DMS) 数据直接从 a.CSV 文件读取到 dataframe 作为字符串? For eg: If I have a csv file with a column of data that is in DMS format,How to read it to a dataframe as string for further calculations?例如:如果我有一个 csv 文件,其中包含一列 DMS 格式的数据,如何将其作为字符串读取到 dataframe 以进行进一步计算?

76° 17' 51.2399" E
77° 26' 30.8322" E
76° 51' 29.7812" E
75° 45' 41.3540" E
76° 17' 51.2399" E

input file sample: enter link description here输入文件示例: 在此处输入链接描述

When I use pandas.read_csv('test.csv) #test.csv is the input file I am getting an error当我使用 pandas.read_csv('test.csv) #test.csv 是输入文件时,我收到错误

Traceback (most recent call last):

  File "<ipython-input-90-2af7440e7795>", line 1, in <module>
    df = pd.read_csv('test.csv')

  File "C:\ProgramData\Anaconda3\envs\obspy\lib\site-packages\pandas\io\parsers.py", line 676, in parser_f
    return _read(filepath_or_buffer, kwds)

  File "C:\ProgramData\Anaconda3\envs\obspy\lib\site-packages\pandas\io\parsers.py", line 448, in _read
    parser = TextFileReader(fp_or_buf, **kwds)

  File "C:\ProgramData\Anaconda3\envs\obspy\lib\site-packages\pandas\io\parsers.py", line 880, in __init__
    self._make_engine(self.engine)

  File "C:\ProgramData\Anaconda3\envs\obspy\lib\site-packages\pandas\io\parsers.py", line 1114, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)

  File "C:\ProgramData\Anaconda3\envs\obspy\lib\site-packages\pandas\io\parsers.py", line 1891, in __init__
    self._reader = parsers.TextReader(src, **kwds)

  File "pandas\_libs\parsers.pyx", line 529, in pandas._libs.parsers.TextReader.__cinit__

  File "pandas\_libs\parsers.pyx", line 749, in pandas._libs.parsers.TextReader._get_header

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf8 in position 2: invalid start byte

CSV file: CSV 文件:

id,string
1,76° 17' 51.2399" E
2,77° 26' 30.8322" E
3,76° 51' 29.7812" E
4,75° 45' 41.3540" E
5,76° 17' 51.2399" E

Code:代码:

df = pd.read_csv('test.csv')
print(df)

   id              string
0   1  76° 17' 51.2399" E
1   2  77° 26' 30.8322" E
2   3  76° 51' 29.7812" E
3   4  75° 45' 41.3540" E
4   5  76° 17' 51.2399" E

Can you share a sample of your CSV file?你能分享你的 CSV 文件的样本吗?

Try using different encoding:尝试使用不同的编码:

import pandas as pd
df = pd.read_csv('test1.csv', encoding='windows-1252')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在 pandas dataframe 中将度分秒 (DMS) 列转换为十进制度 - Converting degree minute second (DMS) columns to decimal degrees in pandas dataframe 如何使用pandas.read_csv将CSV文件中的数据插入数据框? - How can I insert data from a CSV file into a dataframe using pandas.read_csv? 将带有度分秒 (DMS) 坐标的熊猫数据框转换为十进制度数 - Converting pandas data frame with degree minute second (DMS) coordinates to decimal degrees 如何使用 python 和数据框从 csv 文件中读取动态数据 - How to read a dynamic data from csv file using python and dataframe 如何从json文件中读取数据,并使用熊猫将其转换为csv? - How to read data from json file and convert it to csv using pandas? 如何将数据从 csv 读取到具有多列的 pandas dataframe 中? - How can the data be read from a csv into a pandas dataframe, with multiple columns? 如何在streamlit中从用户读取csv文件并转换为pandas数据帧 - How to read csv file from user in streamlit and converting to pandas dataframe 为什么 csv 文件中的整数作为字符串读入 pandas dataframe - Why Integers in csv file read as strings into pandas dataframe 使用Pandas DataFrame和Matplotlib将CSV文件中的数据处理到绘图中 - Using pandas dataframe and matplotlib to manipulate data from a csv file into a plot 在Python中使用Pandas从CSV文件读取特定数据 - Using Pandas to read specific data from a CSV file in Python
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM