一、check python是否仍然在运行
Windows 操作系统下用任务管理器查看
- 打开任务管理器:Ctrl + Shift + Esc
- 查看进程列表:
- 在“进程”选项卡中,找到与 Python 相关的进程。
- 检查CPU和内存使用情况:
- 如果数值在不断变化,说明进程还在运行。如果数值长时间保持不变,可能进程已经挂起。
- 查看进程状态:
- 右键——“转到详细信息”。如果状态是“运行中”,说明进程还在运行。
二、json文件直接就可以用pycharm打开
三、不同操作系统下的路径分隔符
Windows
- 路径分隔符:反斜杠(\)【记忆:和W一个方向】
- 常用场景:
- 文件路径:C:\Users\YourName\Documents\file.txt
- 命令行:在命令提示符(cmd)或 PowerShell 中使用反斜杠来指定路径。
- 编程:在 Windows 环境下编写代码时,通常使用反斜杠来指定文件路径。
Linux
- 路径分隔符:正斜杠(/)
- 常用场景:
- 文件路径:/home/yourname/documents/file.txt
- 命令行:在终端中使用正斜杠来指定路径。
- 编程:在 Linux 环境下编写代码时,通常使用正斜杠来指定文件路径。
跨平台编程
如果你需要编写跨平台代码,建议使用 Python 的 os 模块或者 pathlib 模块来处理路径,以确保代码在不同操作系统上都能正常运行,比如在Windows上输出正,在linux上输出反。
特殊情况
- Windows 支持正斜杠:
- Windows 实际上也支持使用正斜杠(/)作为路径分隔符。例如,C:/Users/YourName/Documents/file.txt 也是合法的路径。这在某些情况下可以简化跨平台代码的编写。
- 转义字符:
- 在某些编程语言中,反斜杠(\)被用作转义字符,这可能会导致路径字符串的解析问题。例如,在 Python 中,字符串 "\n" 会被解释为换行符。因此,在处理 Windows 路径时,通常需要使用双反斜杠(\\)或者使用原始字符串(r"...")来避免转义问题:
path = "C:\\Users\\YourName\\Documents\\file.txt" # 或者 path = r"C:\Users\YourName\Documents\file.txt"
四、object类型包含
- 字符串(String):这是最常见的object类型数据。例如,文本数据、字符数据等。
- 混合类型(Mixed Types):当一列包含多种数据类型(例如,数字和字符串混合在一起)时,Pandas会将该列的数据类型设置为object。
- 日期和时间(Datetime):虽然Pandas有专门的datetime64数据类型来处理日期和时间数据,但某些情况下日期和时间数据也可能以字符串形式存储在object类型列中。
- 其他Python对象:任何其他无法归类为Pandas内置数据类型的数据,例如列表、字典、甚至自定义对象
五、一些错误类型
- ValueError: cannot set a frame with no defined index and a scalar
一个典型的 Pandas 错误,通常是因为 DataFrame 没有索引,或者尝试用标量值为多行赋值。
- MemoryError
表示在尝试执行某个操作时,系统内存不足,无法完成该操作。在你的代码中,MemoryError 发生在尝试将数据保存为 pickle 文件时。这可能是因为数据量太大,导致内存溢出。
- EOFError
通常发生在尝试读取文件时,文件意外结束,导致无法完成读取操作。可能文件损坏、文件路径错误、文件被截断、文件格式错误等
六、UTF-8
在代码书写过程中,更改编码(例如更改为UTF-8)是为了确保文本数据在不同系统和应用程序之间能够被正确地读取和显示。
作用
- 多语言支持:UTF-8是一种支持多语言的编码方式,它能够表示几乎所有现存的书写系统的字符。这对于处理国际化应用程序非常重要。
- 兼容性:UTF-8与ASCII兼容,这意味着在处理纯英文文本时,UTF-8和ASCII的编码是相同的。这使得UTF-8在许多系统和应用程序中得到了广泛的支持。
- 数据完整性:使用统一的编码方式可以避免由于编码不一致而导致的数据损坏或乱码问题。
其他常见的编码
- ASCII:最早的字符编码标准,只能表示128个字符,主要用于英文。
- ISO-8859-1(Latin-1):扩展ASCII,支持西欧语言的字符。
- UTF-16:Unicode的另一种实现方式,使用两个字节表示一个字符,适合处理东亚语言。
- GB2312/GBK/GB18030:中国国家标准编码,用于表示简体中文字符。
- Shift-JIS:日本使用的一种字符编码,用于表示日文字符。
- EUC-KR:韩国使用的一种字符编码,用于表示韩文字符。
如何更改编码
在不同的编程语言和环境中,更改编码的方式有所不同。以下是一些示例:
Python
# -*- coding: utf-8 -*-
print("你好,世界")
文件操作
在保存文件时,可以选择编码方式。例如,在文本编辑器中选择“另存为”,然后选择UTF-8编码。
七、读取错误
UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa1 in position 0: invalid start byte
- 解决1、记事本查看编码方式——python读取csv时指定为编码方式——ANSI对应linux下的cp1252
- 解决2、直接把csv用记事本打开,另存为utf8格式,用read_csv读取,指定好分隔符
-
import pandas as pd import chardet # 自动检测文件编码 with open('./datatest/312_电话邦联合建模/var_dic_base.csv', 'rb') as f: result = chardet.detect(f.read()) encoding = result['encoding'] print("Detected encoding:", encoding)
data = [] with open('./datatest/312_电话邦联合建模/var_dic_base.csv', 'r') as file: for line in file: line = line.strip().split('\x01') # 使用ASCII码表示的分隔符 data.append(line) # 将数据转换成DataFrame var_dict_base= pd.DataFrame(data)